1. Field of the Invention
The embodiments of the invention generally relate to authoring web applications for use on mobile devices and, more specifically, to a system and method for assisting a user with creating a customized lightweight web application from an existing web application.
2. Description of the Related Art
Today's websites provide many useful features, but unfortunately nearly all are designed first and foremost for the desktop form factor (i.e., for use on devices having significant computer processing functions). At the same time, the number of mobile devices with different form factors and unique input and output facilities is growing substantially. Many websites now have mobile versions (i.e., have software applications for websites that can be executed on mobile devices, such as cell phones, personal digital assistants (PDAs), etc). These mobile versions of websites are often designed for use on minimally functional mobile devices (i.e., devices with limited computer processing capabilities) and, thus, provide only a small subset of the functionality of the website. Moreover, the cost of producing such mobile versions of websites is such that only the most widely-used applications have them. Less popular applications, such as most enterprise applications, are rarely supported on mobile devices. Employees who need to perform tasks on the road are left with an extremely limited ability to conduct work processes on their intranets using mobile devices.
Early work on creating mobile interfaces focused primarily on two approaches. The first approach automatically modified existing interfaces based on heuristic rules or machine learning algorithms. The second approach created tools that allow website builders to model their site and use those models to create new versions of their site for multiple mobile devices.
Many of the first systems to create mobile interfaces attempted to use the automatic approach. One such system used sets of heuristic rules to modify pages, such as “replace each text block with its first sentence” (see Bickmore, T. W. and Schilit, B. N. “Digestor: Device-independent Access to the World Wide Web,” in Selected papers from the sixth international conference on World Wide Web, 1997, Santa Clara, Calif. pp. 1075-1082). Other automatic approaches have analyzed users' browsing history to improve mobile interfaces (e.g., see Anderson, C. R., Domingos, P., and Weld, D. S. “Personalizing Websites for Mobile Users,” in Proceedings of the 10th international conference on World Wide Web, 2001, Hong Kong, pp. 565-575) such as by increasing the prominence of links that users often follow. These automatic schemes were also limited to making small changes to the interface.
Other systems have used a model-based approach to creating mobile web interfaces. For example, one such system uses a tool and some heuristic rules for reverse engineering a web page into a XIML presentation model that could later be transformed for use on other devices (see Bouillon, L., Vanderdonckt, J., and Souchon, N. “Recovering Alternative Presentation Models of a Web Page with Vaquita,” in Computer-Aided Design of User Interfaces III, 2002, pp. 311-322). In contrast, another system starts with the designer creating a generic interface model for their web page and then provides tools to transform the generic interface for use on a variety of different devices (see Banavar, G., Bergman, L., Cardone, R., and Chevalier, V., “An Authoring Technology for Multidevice Web Applications”, IEEE Pervasive Computing, 2004, 3(3): pp. 83-93). These systems require significant knowledge of abstract modeling and programming to use.
A few projects have investigated the idea of allowing end users to create their own user interfaces from those found on websites. One such system allows users to clip elements from existing web pages onto a separate panel and then link the elements together to create useful combined applications (see Fujima, J., Lunzer, A., Hornbaek, K., and Tanaka, Y.
“Clip, connect, clone: combining application elements to build custom interfaces for information access,” in Proceedings of the 17th annual ACM symposium on User interface software and technology, 2004, pp. 175-184). However, interfaces created in this manner exist entirely on one page and were not designed to work on a mobile device.
Another system allows users to create mash-ups by combining elements found in existing web applications (see Hartmann, B., Wu, L., Collins, K., and Klemmer, S. R. “Programming by a Sample: Rapidly Creating Web Applications with d.mix,” in Proceedings of the 20th annual ACM symposium on User interface software and technology., 2007, Newport, R.I. pp. 241-250). This system supports creation of mobile interfaces, but appears to require users to create and edit scripts written in the specified programming language.
Yet another system comprises a tool that allows users to remove, resize or move web page elements while browsing on a mobile device (see Bila, N., Ronda, T., Mohomed, I., Truong, K. N., and Lara, E.d. “PageTailor: Reusable End-User Customization for the Mobile Web,” in Proceedings of MobiSys, 2007, San Juan, Puerto Rico. pp. 16-25). This tool runs directly on a mobile device, and studies have shown that its modification algorithms are robust to website changes over long periods of time. However, while it can be used to modify the content of pages, it does not allow users to specify the transitions between pages. Furthermore, it requires the mobile device to download most of the content of every web page, because the modification algorithms are run directly on the mobile device.
Common to all of these approaches is the idea that content will need to be modified for use on the mobile device. Researchers have also been designing new interaction techniques in an attempt to replicate the experience of browsing a web page on a typical desktop browser within the constraints of the mobile browsing environment. While these techniques may have had some success, there is still a need in the art for content modification approaches that are smaller and easier to navigate than regular web pages. If such modified pages can be designed to contain the correct content and features, then they are likely to be easier to use.